home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include "defs.h"
- #include "pattern.h"
-
- har *progname;
- har *filename;
- ixrect *pr1, *pr2;
-
- #ifdef STANDALONE
- ain(argc, argv, envp)
- #else
- alftone_main(argc, argv, envp)
- #endif
- int argc;
- char **argv;
- char **envp;
- {
- register int i, j;
- int x, y;
- int *p_pat;
- Pixrect *pattern;
- int bs_cu;
-
- progname = strsave(argv[0]);
- parse_profile(&argc, argv, envp);
-
- while ((gc = getopt(argc, argv, " ")) != EOF)
- switch (gc) {
- case '?':
- errflag++;
- break;
- }
-
- if (errflag)
- error((char *) 0, "Usage: %s: [infile] [outfile]\n", progname);
-
- for (stream = 0; optind < argc; stream++, optind++)
- if (stream < 2 && strcmp(argv[optind], "-") != 0)
- if (freopen(argv[optind], mode[stream], f[stream]) == NULL)
- error("%s %s", PR_IO_ERR_INFILE, argv[optind]);
-
- if ((pr1 = pr_load(stdin, NULL)) == NULL)
- error(PR_IO_ERR_RASREAD);
-
- if (pr1->pr_depth != 8)
- error("image not 8 bits deep");
-
- if ((pattern = mem_create(BOXSIZE, BOXSIZE * 50, 1)) == NULL)
- error("mem_create returned NULL");;
-
- if ((pr2 = mem_create(pr1->pr_size.x * BOXSIZE, pr1->pr_size.y * BOXSIZE, 1)) == NULL)
- error("mem_create returned NULL");
-
- p_pat = &pat[0];
- for (y = 0; y < BOXSIZE * 10; y++)
- for (x = 0; x < BOXSIZE; x++, p_pat++)
- pr_rop(pattern, x, y, 1, 1, (*p_pat) ? PIX_CLR : PIX_SET, (Pixrect *) 0, 0, 0);
-
- bs_cu = BOXSIZE * BOXSIZE * BOXSIZE;
- for (j = 0; j < pr1->pr_size.y; j++)
- for (i = 0; i < pr1->pr_size.x; i++)
- pr_rop(pr2, i * BOXSIZE, j * BOXSIZE, BOXSIZE, BOXSIZE, PIX_SRC, pattern, 0, BOXSIZE * ((pr_get(pr1, i, j) + (bs_cu - 1)) / bs_cu));
-
- pr_dump(pr2, stdout, NULL, RT_STANDARD, 0);
- }
-